package com.job.service;


import com.job.common.ResponseResult;
import com.job.common.exception.ParameterIsNullException;
import com.job.controller.req.StudentCertificateVO;
import com.job.pojo.*;
import com.job.pojo.vo.StudentVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface StudentService {
    ResponseResult<StudentVO> studentInfoQuery(String studentId);

    ResponseResult<List<WorkInfo>> studentWorkInfoQuery(String studentId);

    ResponseResult<List<Product>> studentProductInfoQuery(String studentId);

    ResponseResult<List<Education>> studentEducationQuery(String studentId);

    ResponseResult<List<Certificate>> studentCertificateQuery(String studentId);

    ResponseResult<Student> studentInfoUpdate(Student student);

    ResponseResult<WorkInfo> studentWorkInfoUpdate(WorkInfo workInfo);

    ResponseResult<Product> studentProductInfoUpdate(Product product);


    ResponseResult<Education> studentEducationUpdate(Education education);

    ResponseResult<WorkInfo> studentWorkInfoAdd(WorkInfo workInfo);

    ResponseResult<Product> studentProductInfoAdd(Product product);

    ResponseResult<Education> studentEducationAdd(Education education);

    ResponseResult<Certificate> studentCertificateAdd(StudentCertificateVO certificateVO);

    ResponseResult<WorkInfo> studentWorkInfoDelete(String id);

    ResponseResult<Product> studentProductInfoDelete(String id);

    ResponseResult<Education> studentEducationDelete(String id);

    ResponseResult<Certificate> studentCertificateDelete(StudentCertificateVO certificateVO);

    ResponseResult studentUploadFile(Integer studentId, MultipartFile multipartFile) throws IOException, ParameterIsNullException;

    ResponseResult editAdvantage(String id, String advantage);

    ResponseResult<String> queryAdvantage(String id);
}
